//第一部分为一个整数，代表这个人的编号，第二个部分也是一个整数，代表后边信息的长度n，即这个人的信息包含多少个整数。第三部分为n个整数，即这个人的信息。
//由于操作人员疏忽，这些人的信息并没有排序，现请你写一个函数将所有人员信息按编号排序并依次输出。
void  sortAndOutput(int *data , int size){
    int iter=0;
    int *p[1005]={NULL},id[1005];
    int tnum,len,t,cnt=0;
    while(iter<size){
        tnum=data[iter++];
        len=data[iter++];
        p[cnt]=malloc(sizeof(int)*(len+1));
        p[cnt][0]=len;
        id[cnt]=tnum;
        for(int i=1;i<=len;i++){
            p[cnt][i]=data[iter++];
        }
        cnt++;
    }
    for(int i=0;i<cnt;i++){
        for(int j=0;j<cnt;j++){
            if(id[i]<id[j]){
                int t=id[j];
                id[j]=id[i];
                id[i]=t;
                int *tp=p[j];
                p[j]=p[i];
                p[i]=tp;
            }
        }
    }
    for(int i=0;i<cnt;i++){
        printf("%d ",id[i]);
        len=p[i][0];
        for(int j=0;j<p[i][0];j++){
            printf("%d ",p[i][j]);
        }
        printf("%d\n",p[i][len]);
        free(p[i]);
    }
}
